//
// Created by 17775 on 2024/10/16.
//

#ifndef RAYCI_LIVEMODE_BACKGROUND_H
#define RAYCI_LIVEMODE_BACKGROUND_H

#include <QObject>
#include "RayCiPro_C.h"

class LiveMode_Background: public QObject {
Q_OBJECT

signals:
    void enableUI(bool measuring);
    void BackGroundProgress(int index,int proportion,int frame,double time) const;
    void stopbackgroundWorkerThread() const;

public:
    int _nDocIdLive;
    explicit LiveMode_Background(int &docId);
    void setFrameSpan(int nFrames);
    bool isFrameSpan() const;
    bool isFrameSpanAvailable() const;
    void setTimeSpan(double dTime);
    bool isTimeSpan();
    bool isTimeSpanAvailable();
    void setCurrentExposure();
    bool isCurrentExposure();
    bool isCurrentExposureAvailable();
    void setAllExposure();
    bool isAllExposure();
    bool isAllExposureAvailable();
    void loadCorrectionBackground() ;
    void saveCorrectionBackground() const;
    void clearCorrectionBackground() const;
    QString startBackgroundMeasurement();
    void  stopBackgroundMeasurement() const;
    int getFrameStepCount();
};


#endif //RAYCI_LIVEMODE_BACKGROUND_H
